/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Model;

import java.io.Serializable;
import javax.persistence.*;
import javax.xml.bind.annotation.XmlRootElement;

/**
 *
 * @author Sik
 */
@Entity
@Table(name = "droits")
@XmlRootElement
@NamedQueries(
{
    @NamedQuery(name = "Droits.findAll", query = "SELECT d FROM Droits d"),
    @NamedQuery(name = "Droits.findByIdDroit", query = "SELECT d FROM Droits d WHERE d.droitsPK.idDroit = :idDroit"),
    @NamedQuery(name = "Droits.findByIdUtilisateur", query = "SELECT d FROM Droits d WHERE d.droitsPK.idUtilisateur = :idUtilisateur"),
    @NamedQuery(name = "Droits.findByDroit", query = "SELECT d FROM Droits d WHERE d.droit = :droit"),
    @NamedQuery(name = "Droits.findByLogin", query = "SELECT d FROM Droits d WHERE d.login = :login")
})
public class Droits implements Serializable
{
    private static final long serialVersionUID = 1L;
    @EmbeddedId
    protected DroitsPK droitsPK;
    @Column(name = "droit")
    private String droit;
    @Basic(optional = false)
    @Column(name = "login")
    private String login;
    @JoinColumn(name = "idUtilisateur", referencedColumnName = "idUtilisateur", insertable = false, updatable = false)
    @ManyToOne(optional = false)
    private Utilisateur utilisateur;

    public Droits()
    {
    }

    public Droits(DroitsPK droitsPK)
    {
        this.droitsPK = droitsPK;
    }

    public Droits(DroitsPK droitsPK, String login)
    {
        this.droitsPK = droitsPK;
        this.login = login;
    }

    public Droits(int idDroit, int idUtilisateur)
    {
        this.droitsPK = new DroitsPK(idDroit, idUtilisateur);
    }

    public DroitsPK getDroitsPK()
    {
        return droitsPK;
    }

    public void setDroitsPK(DroitsPK droitsPK)
    {
        this.droitsPK = droitsPK;
    }

    public String getDroit()
    {
        return droit;
    }

    public void setDroit(String droit)
    {
        this.droit = droit;
    }

    public String getLogin()
    {
        return login;
    }

    public void setLogin(String login)
    {
        this.login = login;
    }

    public Utilisateur getUtilisateur()
    {
        return utilisateur;
    }

    public void setUtilisateur(Utilisateur utilisateur)
    {
        this.utilisateur = utilisateur;
    }

    @Override
    public int hashCode()
    {
        int hash = 0;
        hash += (droitsPK != null ? droitsPK.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object)
    {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof Droits))
        {
            return false;
        }
        Droits other = (Droits) object;
        if ((this.droitsPK == null && other.droitsPK != null) || (this.droitsPK != null && !this.droitsPK.equals(other.droitsPK)))
        {
            return false;
        }
        return true;
    }
    
    public String getDroitFromLevel(String level)
    {
        
        if(level.equals("Direction"))
        {
            return "admin";
        }
        if(level.equals("Capitaine"))
        {
            return "leader";
        }
        if(level.equals("Joueur"))
        {
            return "gamer";
        }
        return "gamer";
    }

    @Override
    public String toString()
    {
        return "Model.Droits[ droitsPK=" + droitsPK + " ]";
    }
    
}
